﻿#pragma once
#include "def.h"
#include <string>
#include "json.hpp"

using json = nlohmann::json;
using jType = nlohmann::detail::value_t;

const int defaultRelateLen = 50;		//50ms with 96000 samplerate

//relate length range: 2048 samples ~ 50000 samples.
const int Min_RelateLen_Samples = 2048;
const int Max_RelateLen_Samples = 50000;
const int Default_RelateLen_Samples = 5000;

const int minTimeRange = 0;
const int maxTimeRange = 60000;
const int defaultTimeRange = 60000;

struct DetBurstInfoAdd
{
	int mSigmapId;
	int devID;
	int pathID;
	int channelID;
	std::wstring SrcFileName;
	std::wstring BurstFileName;

	std::string BurstLTC;

	DetBurstInfoAdd()
	{
		reset();
	}

	void reset()
	{
		SrcFileName.clear();
		BurstFileName.clear();
		BurstLTC.clear();

		mSigmapId = 100;
		devID = 0;
		pathID = 0;
		channelID = 0;
	}
};

struct BusrtTimeCostInfo
{
	int64_t mTimeDif; // FileTime Diff Value
	int mPathID;
	std::string mBurstFile;

	BusrtTimeCostInfo()
	{
		reset();
	}

	void reset()
	{
		mTimeDif = 0; // FileTime Diff Value
		mPathID = 0;
		mBurstFile = "";
	}
};
